// import { login, logout, getInfo } from '@/api/login'
// import { getToken, setToken, removeToken } from '@/utils/auth'

const user = {
  namespaced: true,
  state: {
    token: '121212',
    currentUser:'',
    userId:0,
    isLogin:false,
    // name: '',
    // avatar: '',
    // roles: [],
    // permissions: []
  },

  getters:{
    GET_TOKEN: (state) => {
      return state.token
    },
    GET_CURRENTUSER: (state) => {
      return state.currentUser
    },
    GET_CURRENTUSERID: (state) => {
      return state.userId
    },
  },

  mutations: {
    SET_TOKEN: (state, token) => {
      state.token = token
    },
    SET_CURRENTUSER: (state, currentUser) => {
      state.currentUser = currentUser
    },
    SET_CURRENTUSERID: (state, userId) => {
      state.userId = userId
    },
    SET_ISLOGIN: (state, loginState) => {
      state.isLogin = loginState
    },
    // SET_NAME: (state, name) => {
    //   state.name = name
    // },
    // SET_AVATAR: (state, avatar) => {
    //   state.avatar = avatar
    // },
    // SET_ROLES: (state, roles) => {
    //   state.roles = roles
    // },
    // SET_PERMISSIONS: (state, permissions) => {
    //   state.permissions = permissions
    // }
  },

  actions: {
    // 登录
    Login({ commit }, res) {
      // const username = userInfo.username.trim()
      // const password = userInfo.password
      // const code = userInfo.code
      // const uuid = userInfo.uuid
      // return new Promise((resolve, reject) => {
      //   login(username, password, code, uuid).then(res => {
      //     setToken(res.token)
      //     commit('SET_TOKEN', res.token)
      //     resolve()
      //   }).catch(error => {
      //     reject(error)
      //   })
      // })
      sessionStorage.setItem("user", JSON.stringify(res.data.username))
      sessionStorage.setItem("token",JSON.stringify(res.data.token))
      sessionStorage.setItem("userId",JSON.stringify(res.data.userId))
      sessionStorage.setItem("photo",res.data.photo)
      commit('SET_TOKEN', res.data.token)
      commit('SET_CURRENTUSER', res.data.username)
      commit('SET_CURRENTUSERID', res.data.userId)
      commit('SET_ISLOGIN', true)
    },

    // // 获取用户信息
    // GetInfo({ commit, state }) {
    //   return new Promise((resolve, reject) => {
    //     getInfo().then(res => {
    //       const user = res.user
    //       const avatar = (user.avatar == "" || user.avatar == null) ? require("@/assets/images/profile.jpg") : process.env.VUE_APP_BASE_API + user.avatar;
    //       if (res.roles && res.roles.length > 0) { // 验证返回的roles是否是一个非空数组
    //         commit('SET_ROLES', res.roles)
    //         commit('SET_PERMISSIONS', res.permissions)
    //       } else {
    //         commit('SET_ROLES', ['ROLE_DEFAULT'])
    //       }
    //       commit('SET_NAME', user.userName)
    //       commit('SET_AVATAR', avatar)
    //       resolve(res)
    //     }).catch(error => {
    //       reject(error)
    //     })
    //   })
    // },

    // // 退出系统
    // LogOut({ commit, state }) {
    //   return new Promise((resolve, reject) => {
    //     logout(state.token).then(() => {
    //       commit('SET_TOKEN', '')
    //       commit('SET_ROLES', [])
    //       commit('SET_PERMISSIONS', [])
    //       removeToken()
    //       resolve()
    //     }).catch(error => {
    //       reject(error)
    //     })
    //   })
    // },

    // 注销
    ForeLogOut({ commit }) {
      return new Promise(resolve => {
        commit('SET_TOKEN', '')
        commit('SET_CURRENTUSER', '')
        commit('SET_CURRENTUSERID', 0)
        commit('SET_ISLOGIN', false)
        sessionStorage.removeItem("user")
        sessionStorage.removeItem("token")
        sessionStorage.removeItem("userId")
        // removeToken()
        resolve()
      })
    }
  }
}

export default user
